package com.atguigu.guli.edu.service;

import com.atguigu.common_utils.utils.PageUtils;
import com.atguigu.guli.edu.entity.Course;
import com.atguigu.guli.edu.entity.Subject;
import com.atguigu.guli.edu.entity.form.CourseInfoForm;
import com.atguigu.guli.edu.entity.query.CourseInfoSearch;
import com.atguigu.guli.edu.entity.query.CourseQuery;
import com.atguigu.guli.edu.entity.vo.CourseDetailsVo;
import com.atguigu.guli.edu.entity.vo.CourseInfoVo;
import com.atguigu.guli.service.base.dto.CourseInfoDto;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * 课程
 *
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2021-01-19 10:59:18
 */
public interface EduCourseService extends IService<Course> {

    PageUtils queryPage(Map<String, Object> params);

    String saveInfo(CourseInfoForm courseInfoForm);

    void updateInfo(CourseInfoForm courseInfoForm,String courseId);

    CourseInfoForm selectById(String id);

    Page<CourseInfoVo> pageList(Integer currPage, Integer pagesize, CourseInfoSearch courseInfoSearch);

    CourseInfoVo getByIdCourseInfo(String id);

    List<Course> listCourse(CourseQuery courseQuery);

    CourseDetailsVo getCoursesDetails(String courseid);

    CourseInfoDto getOrderCourse(String courseId);

    void updateCourseByCount(String courseId);
}

